home *** CD-ROM | disk | FTP | other *** search
/ Internet E-Mail Workshop / Internet E-Mail Workshop.iso / referenc / vga_info / chiptech.txt < prev    next >
Text File  |  1994-01-18  |  53KB  |  1,137 lines

  1.   Chips and Technologies Super VGA Chip Sets:
  2.  
  3.  
  4.     82c450    1M VRAM    A '453 with VRAM
  5.     82c451  256k DRAM    max 800x600 16col
  6.     82c452    1M DRAM    max 640x480 256col, 1024x768 16col
  7.     82c453    1M DRAM    max 800x600 256 col
  8.     82c455  256k DRAM    Flat Panel version
  9.     82c456  256k DRAM    do
  10.     82c457               do. Full color. 
  11.     F65520   1M  D/VRAM  do. Full color. max 1280x1024 16c & 800x600 256 col
  12.     F65530   1M  D/VRAM  do. Full color. max 1280x1024 16c & 800x600 256 col
  13.                          Supports Local Bus.    
  14.     F65510    ?
  15.  
  16.  
  17.  94h (R/W):  Setup Control Register for Microchannel boards
  18. bit 0-2  Reserved
  19.       3  Enables Adapter VGA if set
  20.       4  Enters Setup Mode if set
  21.     5-7  Reserved
  22. Note: This is the same register as 46E8h.
  23.  
  24. 100h (R):  Microchannel ID low
  25. bit 0-7  Bit 0-7 of Microchannel Card ID
  26.  
  27. 101h (R):  Microchannel ID high
  28. bit 0-7  Bit 8-15 of Microchannel Card ID
  29.  
  30. 102h (R/W):  Global Enable
  31. bit   0  VGA is enabled if set.
  32.  
  33. 103h (R/W):  Multiple Enable
  34. bit 0-3  Multiple VGA Enable
  35.       4  Must be 0 for proper operation of 82c455/6/7.
  36.       6  Extension registers at 3B6h/7h if set,
  37.          3D6h/7h if not.
  38.       7  Extension Registers Access Enable.
  39.          VGA Extension registers at 3d7h can only be
  40.          accessed if this bit is set.
  41. Note: This register only available in Setup Mode.  
  42.  
  43. 104h (R):  Global ID (Setup)     
  44. bit 0-7  Chip I/D.  0A5h if Chips and Tech Chip set.
  45. Note: this register can only be read if the chip is in setup mode (46E8h/94h
  46.       bit 4 is set)
  47.  
  48. 3C3h (R/W):  Setup Control PS/2
  49. bit   0  Enables motherboard VGA if set
  50.       4  Enters Setup mode if set
  51.  
  52. 3d4h index 22h (R/W):  CPU Data Latch or Color Compare from last read
  53.  
  54. 3d4h index 24h (R/W):  Attribute Controller flip/flop
  55.  
  56. 3d6h index  0  (R):  Chip Version
  57. bit 0-3  Revision number
  58.     4-7  Chipcode:
  59.           0: 451  1:452  2:455  3:453  4: 450, 5:456  6:457
  60.           7: 65520, 8:65530, 9: 65510
  61.  
  62. 3d6h index  1  (R):  DIP Switch Register
  63. bit 0-6  State of the DIP switches.
  64.     0-7  (655x0) Read from Memory Address bus A on Reset.
  65.          Bit 0-1: CPU Bus type    
  66.                    0=PI bus, 1=MC bus, 2=Local bus (65530 only), 3=ISA bus.
  67.                2: Pixel Clock Source (OSC/)
  68.                    0: CLK0-CLK3 are pixel clock inputs. 
  69.                       CLK0 or CLK1 is MCLK input.
  70.                    1: CLK0 is MCLK input.
  71.                       CLK1 is pixel clock input.
  72.                       CLK2 is CLKSEL0 output.
  73.                       CLK3 is CLKSEL1 output.   
  74.                3: Memory Clock Source (56M/)
  75.                     0: MCLK = 56.644 MHz (80ns RAM)
  76.                        If bit 2 is 0:
  77.                          CLK0 is 50.350 MHz
  78.                          CLK1 is 56.644 MHz (MCLK source)
  79.                          CLK2 is 40.000 MHz
  80.                          CLK3 is 44.900 MHz
  81.                        If bit 2 is 1:
  82.                          MCLK (CLK0) is 56.644 MHz
  83.                          Clock Select 0 is 40.000 MHz
  84.                          Clock Select 1 is 50.350 MHz
  85.                          Clock Select 2 is user defined
  86.                          Clock Select 3 is 44.900 MHz
  87.                     1: MCLK = 50.350 MHz (100ns RAM)
  88.                        If bit 2 is 0:
  89.                          CLK0 is 50.350 MHz
  90.                          CLK1 is 28.322 MHz (MCLK source)
  91.                          CLK2 is 40.000 MHz
  92.                          CLK3 is 44.900 MHz
  93.                        If bit 2 is 1:
  94.                          MCLK (CLK0) is 50.350 MHz
  95.                          Clock Select 0 is 40.000 MHz
  96.                          Clock Select 1 is 28.322 MHz
  97.                          Clock Select 2 is user defined
  98.                          Clock Select 3 is 44.900 MHz
  99.                4: Transceiver Control
  100.                   If set there are no external transceivers (pin 69 is
  101.                   VGARD output), if clear there are external transceivers
  102.                   (pin 69 is ENAVEE/ output).
  103.  
  104. 3d6h index  2  (R/W):  CPU Interface
  105. bit   0  16bit memory enabled if set
  106.       1  (82c450-453) 16 bit I/O if set
  107.          (82c453,0 Only) Fast Font Enable   ???
  108.             The byte written to memory is used as a mask
  109.             for painting foreground color to the pixels
  110.             with the corresponding bit set and background
  111.             color to the rest.
  112.          (655x0 Only) Digital Monitor Clock Mode
  113.             0: CLK0 = 25 MHz, CLK1 = 28 MHz
  114.             1: CLK0 = 14 MHz (56MHz /4 or 28MHz /2)
  115.                CLK1 = 16 MHz (50MHz /3)
  116.       2  (82c450-3,5) Fast MCA buscycle decoding if set
  117.     3-4  (82c450,3 and 455-457) Attribute port pairing
  118.             0: Normal Attribute addressing
  119.             1: 3C1h is both read and write, 8 and 16 bit.
  120.             2: 3C1h is both read and write, 8 bit only.
  121.       5  (Not 82c451/2) 10 bit I/O decoding if set, 16 bit else
  122.       6  (82c450,3 Only) Pel Panning Control
  123.          (655x0 Only) If set external palette registers can be addressed
  124.                      at 83C6h-83C9h. (Brooktree/Sierra type DACs).
  125.       7  (Read Only) Attribute flip-flop status. If set the Attribute
  126.                     register (3C0h) is currently in Data mode.
  127.  
  128. 3d6h index  3  (R/W):  ROM Interface                               (not 655x0)
  129. bit   0  Disable on-card ROM if set.
  130.          Enable ROM at C0000h-C7FFFh if clear.
  131.  
  132. 3d6h index  4  (R/W):  Memory Mapping           
  133. bit 0-1  (82c452/3/) Display Memory Size:  0: 256Kb, 1: 512Kb, 2: 1Mb.
  134.          (655x0) Memory Configuration
  135.                   0: 2 x 256Kx4 D/VRAM  256K tot   8 bit datapath
  136.                   1: 4 x 256Kx4 D/VRAM  512K tot  16 bit datapath
  137.                   3: 2 x 512Kx8   DRAM    1M tot  16 bit datapath
  138.       2  (82c451/5/6/7) Enable bank access if set
  139.          (82c452/3, 655x0) If set CRTC Address can cross bank boundaries.
  140.       3  (82c457) If set DRAM timing is for 64Kx16 (4 WE, 1 CAS)
  141.                   if clear for 64Kx4 (4 CAS, 1 WE).
  142.          (655x0)  Enables bank addressing if set.
  143.       4  (655x0)  If set VRAM interface, else DRAM interface.
  144.       5  (655x0)  If set CPU memory write buffer is enabled.
  145.       6  (655x0)  If set enables 0WS capability.
  146.       7  (655x0)  If set allows faster 0WS cycle timing.
  147.  
  148. 3d6h index  5h (R/W):  Sequencer Control                        (452/3/7 only)
  149. bit   2  (82c457)  Clock Pin Polarity.
  150.                    If set CLK0 is defined as a common clock and CLK1/S0
  151.                    and CLK2/S1 are select outputs. If clear one of CLK0,
  152.                    CLK1 and CLK2 is selected as the display clock.
  153.  
  154. 3d6h index  6h (R/W):  DRAM Interface                            (82c452 only)
  155.  
  156. 3d6h index  6h (R/W):  Palette Control Register                   (655x0 only)
  157. bit   0  If set enables external DAC if 3d6h index 6 bit 0 is 0.
  158.       1  If set disables the internal DAC.
  159.          Causes the DAC to power down and tri-states the outputs. 
  160.       2  If set enables 16 bit/pixel operation.
  161.          Timing to an external DAC will be SC11486 (Tseng) compatible.
  162.          (Two bytes output per pixel, one on the rising edge of PCLK
  163.          and one on the falling edge).
  164.       3  If set 16 bit pixels are 5 red-6 green-5 blue.
  165.          If clear they are 5 bits of each.
  166.       4  If set the Sense Status bit (3C2h bit 4) is driven by the SENSE
  167.          pin from external logic.
  168.       5  If set bypasses the internal RAMDAC.
  169.          This bit should always be clear.
  170.     6-7  Color Reduction Select. 
  171.          In flat panel modes these bits determine the algorithm used to
  172.          reduce 18 bit color data to 6 bits for mono panels.
  173.           0: NTSC weighting, 1: Equivalent weight, 2: Green only, 3: Color.
  174.  
  175. 3d6h index  8h (R/W):  General Purpose Output Select B Register.
  176.                                                             (451/2/5/6/7 only)
  177. bit   0  Select bit B for ERMIN/ pin.
  178.       1  Select bit B for TRAP/ pin.
  179.       2  (82c457) If set PNL14 pin outputs panel data bit 14,
  180.          if clear PNL14 pin outputs DATEN/.   
  181.  
  182. 3d6h index  9h (R/W):  General Purpose Output Select A Register.
  183.                                                             (451/2/5/6/7 only)
  184. bit   0  Select bit A for ERMIN/ pin.
  185.       1  Select bit A for TRAP/ pin.
  186.          Select A and B determine the output on the pin:
  187.            B      A        Output
  188.          clear  clear      Normal
  189.          clear   set       3-State
  190.           set   clear      Force low
  191.           set    set       Force high 
  192.  
  193. 3d6h index  Ah (R/W):  Cursor Address Top                      (82c452/3 Only)
  194. bit 0-1  Cursor Address bit 16,17
  195.     2-7  Reserved
  196.  
  197. 3d6h index  Bh (R/W):  CPU Paging                          (82c451/5/6/7 only)
  198. bit 0-1  Bank number in 64k chunks.
  199. Note: This Bank register is used if in a 256 color mode and
  200.       the chip is a 82c451/5/6/7.
  201.  
  202. 3d6h index  Bh (R/W):  Memory Paging Register           (82c452/3, 655x0 only)
  203. bit   0  Enable extended paging (256 color paging) if set
  204.       1  If set Dual Pages are enabled. A0000h-A7FFFh uses 3d6h 
  205.          index 10h, A8000h-AFFFFh uses 3d6h index 11h.
  206.       2  CPU Address divide by 4 (256 color addressing)
  207.       3  (655x0) If set CPU address divide by 2 is enabled.
  208.       4  (65530) If set Memory is mapped as 1MB linear Memory.
  209.  
  210. 3d6h index  Ch (R/W):  Start Address Top                (82c452/3, 655x0 Only)
  211. bit 0-1  Display Start Address bit 16,17.
  212.  
  213. 3d6h index  Dh (R/W):  Auxiliary Offset Register
  214. bit   0  Bit 8 of Offset field. If set each line is >255 words.
  215.       1  Bit 8 of simulated Offset field.
  216.  
  217. 3d6h index  Eh (R/W):  Text Mode                          (82c452, 655x0 Only)
  218. bit   0  (82c452) Extended text Mode Control ??
  219.       1  (82c452) Enable anti-aliased fonts if set
  220.       2  (655x0)  If set cursor is non-blinking.
  221.       3  (655x0)  If set Cursor style is Exclusive-Or.
  222.  
  223. 3d6h index  Fh (R/W):  Software Flags 2                           (655x0 only)
  224. bit 0-7  Software flags. 
  225.  
  226. 3d6h index 10h (R/W):  Single/Low Map                   (82c452/3, 655x0 Only)
  227. bit 0-5  (82c452) Bank no in 4K/16K chunks.
  228.     0-7  (82c453) Bank no in 1K/4K chunks.
  229. Note: This Bank register is used if in single-paging mode or if addressing the
  230.       lower half (32 or 64Kb) of the adapters address range.
  231.  
  232. 3d6h index 11h (R/W):  High Map                         (82c452/3, 655x0 Only)
  233. bit 0-5  (82c452) Bank no in 4K/16K chunks.
  234.     0-7  (82c453) Bank no in 1K/4K chunks.
  235. Note: This Bank register is used if addressing the upper half (32 or 64Kb) of
  236.       the adapters address range.
  237.  
  238. 3d6h index 14h (R/W):  Emulation Mode Register
  239. bit 0-1  Emulation Mode:
  240.           0=VGA/EGA, 1=CGA, 2=MDA and 3=Hercules.
  241.       2  (R) Hercules Configuration (3BFh) bit 0 Readback.
  242.          If set it is possible to set the Graphics Mode bit (3B8h bit 1).
  243.       3  (R) Hercules Configuration (3BFh) bit 1 Readback.
  244.          If set it is possible to set the Graphics Page bit (3B8h bit 7).
  245.       4  Display Enable Status Mode.
  246.          If set bit 0 of the Input Status Register 1 (3dAh)
  247.          shows the Hsync Status (as MDA/Hercules), if clear the
  248.          Display Enable is shown (as CGA/VGA). 
  249.       5  Vertical Retrace Status Mode.
  250.          If set bit 3 of the Input Status Register 1 (3dAh)
  251.          shows the Video signal (as MDA/Hercules), if clear the
  252.          Vertical Retrace status is shown (as CGA/VGA). 
  253.       6  Vsync Status Mode.
  254.          If clear bit 7 of the Input Status Register 1 (3dAh)
  255.          shows the Vsync Status (as MDA/Hercules).
  256.       7  Interrupt Output Function.
  257.          If clear the IRQ pin will always 3-state, if set it
  258.          will 3-state only when interrupts are disabled.  
  259.  
  260. 3d6h index 15h (R/W):  Write Protect Register.
  261. bit   0  Write Protect Group 1 Registers.
  262.          If set the Sequencer (3C4h), Graphics Controller (3CEh)
  263.          and Attribute Controller (3C0h) registers are write protected.
  264.       1  Write Protect Group 2 Registers.
  265.          If set the Cursor Size Register (3d4h index 9 bits 0-4) 
  266.          and the Character Height registers (3d4h index 0Ah and 0Bh)
  267.          are write protected.
  268.       2  Write Protect Group 3 Registers.
  269.          If set CRT registers (3d4h) index: 7 bit 4, 8, 11h bits 4-5,
  270.          13h, 14h, 17h bits 0-1 and 3-7, 18h are write protected.
  271.       3  Write Protect Group 4 Registers.
  272.          If set CRT registers (3d4h) index: 9 bits 5-7, 10h, 11h bits 0-3
  273.          and 6-7, 12h, 15h, 16h, 17h bit 2 are write protected.
  274.       4  Write Protect Group 5 Register.
  275.          If set the Miscellaneous Output (3C2h) and Feature Control
  276.          (3dAh) registers are write protected.
  277.       5  Write Protect Group 6 Registers.
  278.          If set the DAC registers (3C6h-3C9h) are write protected.
  279.       6  Write Protect Group 0 Registers.
  280.          If set CRT registers (3d4h) index: 0, 1, 2, 3, 4, 5, 6,
  281.          7 bits 0-3 and 5-7 are write protected.
  282.  
  283. 3d6h index 16h (R/W):  Trap Enable Register.                       (not 655x0)
  284. bit   0  If set accesses to registers 3B4h or 3B5h cause a Trap.
  285.       1  If set accesses to registers 3B8h or 3BFh cause a Trap.
  286.       2  If set accesses to registers 3C0h-3CFh cause a Trap.
  287.       3  If set accesses to registers 3D4h or 3D5h cause a Trap.
  288.       4  If set accesses to registers 3D8h or 3D9h cause a Trap.
  289.       5  If set accesses to registers 3d4h index 0-0Bh and 10h-18h
  290.          cause a Trap.
  291.  
  292. 3d6h index 17h (R/W):  Trap Status Register.                       (not 655x0)
  293. bit   0  If set a trap occurred due to access to registers 3B4h or 3B5h.
  294.       1  If set a trap occurred due to access to registers 3B8h or 3BFh.
  295.       2  If set a trap occurred due to access to registers 3C0h-3CFh.
  296.       3  If set a trap occurred due to access to registers 3D4h or 3D5h.
  297.       4  If set a trap occurred due to access to registers 3D8h or 3D9h.
  298.       5  If set a trap occurred due to access to registers 
  299.          3d4h index 0-0Bh or 10h-18h.
  300. Note: Any bits in this register can be cleared by writing a 1 bit to them. 
  301.  
  302. 3d6h index 18h (R/W):  Alternate Horizontal Display Enable End Register
  303. bit 0-7  This register replaces the Horizontal Display Enable End Register
  304.          (3d4h index 1) in low resolution CGA text and graphics modes,
  305.          Hercules Graphics and all flat panel modes.
  306. Note: Probably doesn't exist in the 82c451/2/3.
  307.  
  308. 3d6h index 19h (R/W):  Alternate Horizontal Sync Start Register
  309. bit 0-7  This register replaces the Horizontal Sync Start Register
  310.          (3d4h index 4) in low resolution CGA text and graphics modes,
  311.          Hercules Graphics and all flat panel modes.
  312. Note: Probably doesn't exist in the 82c451/2/3.
  313.  
  314. 3d6h index 1Ah (R/W):  Alternate Horizontal Sync End Register
  315. bit 0-4  Alternate Horizontal Sync End. Replaces 3d4h index 5 bits 0-4.
  316.     5-7  Alternate Horizontal Sync Delay. 
  317.          For CRTs replaces 3d4h index 5 bits 5-6.
  318. Note: This register replaces the Horizontal Sync End Register (3d4h index 5)
  319.       in low resolution CGA text and graphics modes, Hercules Graphics and
  320.       all flat panel modes.
  321. Note: Probably doesn't exist in the 82c451/2/3.
  322.  
  323. 3d6h index 1Bh (R/W):  Alternate Horizontal Total Register
  324. bit 0-7  This register replaces the Horizontal Total Register
  325.          (3d4h index 0) in low resolution CGA text and graphics modes,
  326.          Hercules Graphics and all flat panel modes.
  327. Note: Probably doesn't exist in the 82c451/2/3.
  328.  
  329. 3d6h index 1Ch (R/W):  Alternate Horizontal Blank Start Register         (CRT)
  330. bit 0-7  Alternate Horizontal Blank Start.
  331. Note: For CRT systems this register replaces the Horizontal Blank Start
  332.       Register (3d4h index 2) in low resolution CGA text and graphics
  333.       modes and Hercules Graphics mode.
  334. Note: Probably doesn't exist in the 82c451/2/3.
  335. Note: This register has different meaning for CRT and Plat Panel systems.
  336.  
  337. 3d6h index 1Ch (R/W):  Alternate Horizontal Blank End Register    (Flat Panel)
  338. bit 0-7  For Flat Panel systems this value specifies the end of Horizontal
  339.          Blank in terms of character clocks.
  340. Note: Probably doesn't exist in the 82c451/2/3.
  341. Note: This register has different meaning for CRT and Plat Panel systems.
  342.  
  343. 3d6h index 1Dh (R/W):  Alternate Horizontal Blank End Register           (CRT)
  344. bit 0-4  Alternate Horizontal Blank End
  345.     5-6  Alternate Display Enable Skew Control. 
  346. Note: For CRT systems this register replaces the Horizontal Blank End
  347.       Register (3d4h index 3) in low resolution CGA text and graphics
  348.       modes, and Hercules Graphics mode.
  349. Note: Probably doesn't exist in the 82c451/2/3.
  350. Note: This register has different meaning for CRT and Plat Panel systems.
  351.  
  352. 3d6h index 1Dh (R/W):  Alternate Horizontal Blank Start Register (Flat Panel)
  353. bit 0-7  Alternate Horizontal Blank Start.
  354. Note: For Flat Panel systems this register replaces the Horizontal Blank
  355.       Start Register (3d4h index 2).
  356. Note: Probably doesn't exist in the 82c451/2/3.
  357. Note: This register has different meaning for CRT and Plat Panel systems.
  358.  
  359. 3d6h index 1Eh (R/W):  Alternate Offset Register
  360. bit 0-7  Alternate Offset.
  361. Note: This register replaces the Offset Register (3d4h index 13h) in low
  362.       resolution CGA text and graphics modes and Hercules Graphics mode.
  363. Note: Probably doesn't exist in the 82c451/2/3.
  364.  
  365. 3d6h index 1Fh (R/W):  Virtual EGA Switch Register                (655x0 only)
  366. bit 0-3  If bit 7 is 1 one of these bits is read back in the Input Status
  367.          Register 0 (3C2h bit 4) depending on Miscellaneous Output bits 2-3:
  368.           0: bit 3, 1: bit 2, 2: bit 1, 3:bit 0.
  369.       7  If set one of bits 0-3 is read back in the Input Status Register
  370.          (3C2h) bit 4.
  371.  
  372. 3d6h index 20h (R/W):  Sliding Unit Delay                         (452/3 only)
  373.  
  374. 3d6h index 21h (R/W):  Sliding Hold A                               (452 only)
  375.  
  376. 3d6h index 22h (R/W):  Sliding Hold B                               (452 only)
  377.  
  378. 3d6h index 23h (R/W):  Write Mask Control                         (452/3 Only)
  379. bit   0  Enable VRAM Write Mask function if set
  380.     1-2  Write Bit Mask Select:
  381.           0: Write Bit Mask Pattern Register (3d6h index 24h)
  382.           1: Graphics Controller Bit Mask    (3CEh index 8)
  383.           2: Rotated CPU byte
  384.       3  Enable Fast Read/Modify/Write function if set
  385.  
  386. 3d6h index 24h (R/W):  Write Bit Mask Pattern                  (82c452/3 only)
  387. bit 0-7  Write Bit Mask (if 3d6h index 23h bit 1-2 =0)
  388.  
  389. 3d6h index 24h (R/W):  Alternate Maximum Scanline Register        (655x0 only)
  390. bit 0-4  Number of scanlines -1 per character row of TallFont.
  391. Note: Used in Flat Panel text modes when TallFont is enabled.
  392.  
  393. 3d6h index 25h (R/W):  FP AltGrHVirtPanel Size               (453, 655x0 only)
  394. bit 0-7  Should be: (9/8)*(3d6h index 1Ch +1) -1.
  395.  
  396. 3d6h index 26h (R/W):  Configuration                             (82c453 Only)
  397. bit   0  PC/AT if set, PS/2 else
  398.     1-2  VRAM memory
  399.           0: 512k   16 chips of  64k x4
  400.           1: 512k    4 chips of 256k x4
  401.           2:   1M    8 chips of 256k x4
  402.           3: 512k    8 chips of  64k x4  ?????  maybe 256k ??
  403.  
  404. 3d6h index 27h (R/W):  Force Sync State
  405.  
  406. 3d6h index 28h (R/W):  Video Interface
  407. bit   0  BLANK/Display Enable Polarity.
  408.          Positive if set, Negative if clear.
  409.       1  Blank /Display Enable Select (CRT).
  410.          If set the BLANK/ pin outputs DE, if clear BLANK/
  411.       2  Shut Off Video.
  412.          If set the video signal is forced to default video
  413.          (3d6h index 2bh) during the blanking interval. 
  414.       3  Shut Off Blank.
  415.          If set the BLANK/ output is forced active
  416.          during the blanking interval.
  417.          (655x0)  Read/writable, but has no function.
  418.       4  (655x0)  256 Color Video Path. 
  419.          If set Video Data Path is 8 bits rather than 4 bits.
  420.       5  (655x0)  Interlace Video. CRT graphics modes only.
  421.          If set Video is interlaced.
  422.       6  (655x0)  8-bit Video Pixel Panning.
  423.          If set 3C0h index 13h bits 0-2 are used to control
  424.          pixel panning rather than bits 1-2.
  425.       7  (655x0)  Read/writable, but has no function.
  426.  
  427. 3d6h index 29h (R/W):  External Sync Control                        (452 only)
  428.  
  429. 3d6h index 2Ah (R/W):  Frame Interrupt Count                        (452 Only)
  430. bit 0-4  Generate Vertical Interrupt every (n+1) frames
  431.  
  432. 3d6h index 2Bh (R/W):  Default Video Register                        (not 453)
  433. bit 0-7  On CRTs this is the color displayed during blank time.
  434.  
  435. 3d6h index 2Ch (R/W):  FP Vsync (FLM) Delay Register.
  436. bit 0-7  Number of Hsync pulses between internal Vsync and the
  437.          rising edge of First Line Marker (FLM).
  438. Note: Only used in Flat Panel modes when 3d6h index 2Fh bit 7 is 0..
  439.  
  440. 3d6h index 2Dh (R/W):  FP Hsync (LP) Delay Register.
  441. bit 0-7  Number of character clocks between the FP Blank inactive
  442.          edge and the rising edge of the LP.
  443. Note: Only used in Flat Panel modes when 3d6h index 2Fh bit 6 is 0 and
  444.       graphics mode horizontal compression is disabled.
  445.  
  446. 3d6h index 2Eh (R/W):  FP Hsync (LP) Delay Register.
  447. bit 0-7  Number of character clocks between the FP Blank inactive
  448.          edge and the rising edge of the LP.
  449. Note: Only used in Flat Panel modes when 3d6h index 2Fh bit 6 is 0
  450.       and 9 dot text mode is used.
  451.  
  452. 3d6h index 2Fh (R/W):  FP Hsync (LP) Width Register
  453. bit 0-3  Width of the LP output pulse in number of character clocks.
  454.          Only in 8 dot text modes on Flat Panels.
  455.       4  Bit 8 of the FP Hsync (LP) Delay Register (3d6h index 2Eh).
  456.       5  Bit 8 of the FP Hsync (LP) Delay Register (3d6h index 2Dh).
  457.       6  FP Hsync (LP) Delay Disable.
  458.          If set the FP Hsync (LP) active edge will coincide with the
  459.          FP Blank inactive edge.
  460.       7  FP Vsync (FLM) Delay Disable.
  461.          If set the external FP Vsync (FLM) will coincide with 
  462.          the internal FP Vsync (FLM) active edge.
  463.  
  464. 3d6h index 30h (R/W):  Graphics Cursor Start Address High           (452 only)
  465. bit 0-7  Bit 8-15 of the Cursor Start Address.
  466.  
  467. 3d6h index 31h (R/W):  Graphics Cursor Start Address Low            (452 only)
  468. bit 0-7  Lowest 8 bits of the Cursor Start address. 3d6h index 30h and index
  469.          Ah forms the upper 10 bits. In 256 color modes this address has a
  470.          granularity of 16 bytes and 4 bytes in 16 color modes.
  471.  
  472. 3d6h index 32h (R/W):  Graphics Cursor End Address                  (452 only)
  473. bit 0-7  End address of the cursor bit map.
  474.  
  475. 3d6h index 33h (R/W):  Graphics Cursor X Position High              (452 only)
  476. bit 0-3  Bits 8-11 of the X co-ordinate of the cursor.
  477.  
  478. 3d6h index 34h (R/W):  Graphics Cursor X Position Low               (452 only)
  479. bit 0-7  Lower 8 bits of the X co-ordinate of the cursor.
  480.  
  481. 3d6h index 35h (R/W):  Graphics Cursor Y Position High              (452 only)
  482. bit 0-3  Bits 8-11 of the Y co-ordinate of the cursor.
  483.  
  484. 3d6h index 36h (R/W):  Graphics Cursor Y Position Low
  485. bit 0-7  Lower 8 bits of the cursor Y co-ordinate.
  486.  
  487. 3d6h index 37h (R/W):  Graphics Cursor Mode                         (452 only)
  488. bit   0  Cursor Enabled if set
  489.       1  Cursor Status enable
  490.       2  Horizontal Zoom. Zoom to 64 pixels wide if set.
  491.          (Normally 32 pixels wide).
  492.       3  Cursor Blink enabled if set
  493.       4  Cursor Blink Rate. 8 frames if clear, 16 if set
  494.  
  495. 3d6h index 38h (R/W):  Graphics Cursor Plane Mask                   (452 only)
  496. bit   0  Enables graphics cursor in bit plane 0 if set
  497.       1  Enables graphics cursor in bit plane 1 if set
  498.       2  Enables graphics cursor in bit plane 2 if set
  499.       3  Enables graphics cursor in bit plane 3 if set
  500.  
  501. 3d6h index 39h (R/W):  Graphics Cursor Color 0                      (452 only)
  502. bit 0-7  Background color of Graphics Cursor.
  503.  
  504. 3d6h index 3Ah (R/W):  Graphics Cursor Color 1                      (452 only)
  505. bit 0-7  Foreground color of Graphics Cursor.
  506.  
  507. 3d6h index 44h (R/W):  Scratch #0 Register                (82c453, 655x0 Only)
  508. bit 0-7  Available
  509.  
  510. 3d6h index 45h (R/W):  Scratch #1/Foreground Color               (82c453 Only)
  511. bit 0-7  Used as foreground color if in Fast Font Paint mode,
  512.          Available as scratch else.
  513.  
  514. 3d6h index 50h (R/W):  Panel Format                          (82c455/6/7 Only)
  515. bit 0-1  Frame Rate Control
  516.           0: No grey scale simulated for mono,
  517.              8 colors simulated for color panels.
  518.           1: 4 simulated colors for color panels only
  519.              (64 colors displayed).
  520.           2: (82c455/6) 64 grey levels simulated for mono. panels only.
  521.              (82c457)   16 levels simulated for each color output.
  522.                         4096 colors simulated.
  523.           3: (82c457)   3 levels simulated for each color output.
  524.                         27 colors simulated.
  525.     2-3  Pulse Width Modulation
  526.           0: No grey scales for mono or color systems.
  527.           1: 4 colors supported by the color panels only
  528.              (64 colors displayed).
  529.           2: 16 grey levels supported by the mono panels only.
  530.           3: 256 grey levels supported by the
  531.              color single panels only.
  532.              (655x0) Dither Enable.
  533.                0: Disable Dither.
  534.                1: Enable dither for 256 color modes.
  535.                2: Enable dither for all modes. 
  536.     4-5  Clock Divide (CD).
  537.           0: Shift Clock = Dot Clock
  538.           1: Shift Clock = Dot Clock/2
  539.           2: Shift Clock = Dot Clock/4
  540.           3: (655x0) Shift Clock = Dot Clock/8.
  541.       7  Shift Clock Mask.
  542.          If set the Shift Clock stops outside the
  543.          Display Enable interval.
  544.     6-7  (655x0)  VAM/FRC Control
  545.            0: bit 2-3 determine the dither:
  546.                0: 6 bpp VAM (dither bits 0-1).
  547.                1: 4 bpp VAM (dither bits 0-1).
  548.                2: 2 bpp VAM (dither bits 2-3).
  549.                3: 1 bpp VAM (dither bits 4-5).
  550.            1: 3 Bits/Pixel VAM (dither bits 1-2).
  551.               Use with bit 2-3=0 or 1 for mono panels,
  552.               Use with bit 2-3=0 for color panels.
  553.            2: (65530) 2-Frame FRC
  554.               3 level grey scale simulation without dither or
  555.               9 level grey scale simulation with dither.
  556.            3: (65530) 3 Bits/Pixel VAM + 2-Frame FRC.
  557.               15-level grey scale simulation without dithering and
  558.               56 level grey scale simulation with dithering.
  559.  
  560. 3d6h index 51h (R/W):  Panel Type                     (82c455/6/7, 655x0 Only)
  561. bit   0  (82c455/6) Double drive if set, single else
  562.       1  Double panel if set, single else
  563.     2-3  Type of display
  564.           0=LCD, 1=CRT, 2=Plasma or Electrolum.
  565.       2  (655x0) Display Type. 0=CRT, 1=Flat Panel.
  566.       3  (655x0) 8/16 bit FP Video Interface.
  567.          If set the Flat Panel Video interface is 16 bit.
  568.     4-5   0=Color panel 3 bit data pack
  569.           1=Color Panel 1 bit data pack
  570.           2=(82c455/6) Monochrome Panel
  571.           3=(82c457)   Extended 4-bit pack
  572.       4  (655x0) Video Skew. 
  573.          If set Video data is delayed 1 shift clock cycle.
  574.       5  (655x0) Shift Clock Mask (SM). Flat Panel mode only.
  575.          If set the shift clock is forced low outside the display
  576.          interval. If clear it also toggles outside the interval.
  577.       6  Flat Panel Compatibility enabled if set
  578.       7  Text Video output polarity
  579.  
  580. 3d6h index 52h (R/W):  Panel Size                            (82c455/6/7 Only)
  581. bit 0-1  Horizontal Size of panel
  582.           1=640 pixels, 2=720 pixels
  583.     3-6  Vertical Size of panel
  584.           1=200 lines, 2=350, 4=400, 8=480 lines
  585.  
  586. 3d6h index 52h (R/W):  Power Down Control Register.               (655x0 only)
  587. bit 0-2  FP Normal Refresh Count. Flat Panel modes only.
  588.          Number of memory refresh cycles to perform per scanline.
  589.       3  Panel Off Mode. If set the CRT/FP interface is inactive.
  590.       4  Panel Off Control Bit 0. Only effective if bit 3 is set.
  591.          If set the Video data, CRT and Flat Panel timing signals
  592.          are forced inactive, rather than only the Video data.
  593.       5  Panel Off Control bit 1. Only effective if bit 3 is set.
  594.          If set inactive video data and/or timing pins are tri-stated
  595.          rather than being driven.
  596.       6  Standby Control. Only effective if the STNDBY/ is low.
  597.          In standby mode the video output, timings and CPU interface
  598.          are inactive. If set the Display memory refresh is derived
  599.          from the 32kHz input. If clear the DRAMs are self-refreshed.
  600.       7  CRT Mode Panel Off. Only effective in CRT modes.
  601.          If set Video data and timing signals are tri-stated. 
  602.  
  603. 3d6h index 53h (R/W):  Override Register              (82c455/6/7, 655x0 Only) 
  604. bit   0  Disable AR10D2. If set the ninth pixel of characters is
  605.          controlled by this register, if clear it is controlled 
  606.          by the Mode Control Register (3C0h index 10h) bit 2.
  607.       1  Alternate Line Graphics Character Code.
  608.          Only effective if bit 0 is set.
  609.          If set the ninth pixel of a character is forced to the same value
  610.          as the 8th pixel. If clear it is forced to the background color.
  611.       2  (655x0) FRC option 1.
  612.       3  (655x0) FRC option 2.
  613.     4-5  (65530) Pixel Packing. Only effective for Color STN panels.
  614.             0: 3-bit Pack. 3d6h index 50h bits 4-5 can be 0,1 or 2.
  615.             1: 4-bit Pack. 3d6h index 50h bits 4-5 can be 1 or 1.
  616.             3: Extended 4-bit Pack. 3d6h index 50h bits 4-5 must be 1.
  617.       7  (65530) High Color Mode Flat Panel Operation.
  618.          If set Hi-Color operation is enabled in hi-res modes on
  619.          Flat panel. If clear it is enabled in low-res modes.
  620.  
  621. 3d6h index 54h (R/W):  Alternate Miscellaneous Output Register
  622.                                                              (82c455/6/7 Only)
  623. bit   0  Panel Video Skew
  624.     2-3  Clock Select Bits
  625.       6  Hsync. Negative if set, Positive if clear.  
  626.       7  Vsync. Negative if set, Positive if clear.  
  627. Note: For Flat Panel systems this register replaces the Miscellaneous
  628.       Output Register (3C2h).
  629.  
  630. 3d6h index 54h (R/W):  FP Interface Register                      (655x0 Only)
  631. bit   0  FP Blank Polarity.
  632.          If set the BLANK/ pin has negative polarity.
  633.       1  If set the BLANK/ pin outputs only the FP Horizontal Blank
  634.          signal, if clear it outputs both Vertical and Horizontal
  635.          Blank signals.
  636.     2-3  FP Clock Select Bits 0-1.
  637.          In Flat Panel modes these bits replace 3C2h bits 2-3.
  638.     4-5  FP Feature Control bits 0-1.
  639.          In Flat Panel modes these bits replace 3dAh bits 0-1.
  640.       6  FP HSync (LP) Polarity.
  641.          If set the HSync (LP) pin has negative polarity.
  642.       7  FP VSync (FLM) Polarity.
  643.          If set the Vsync (FLM) pin has negative polarity. 
  644. Note: This register is only effective in Flat Panel modes.
  645.  
  646. 3d6h index 55h (R/W):  Text Mode 350_A                       (82c455/6/7 Only)
  647. bit 0-3  (Number of blank lines)-1 inserted between text rows
  648.          I.e.  if 5, insert 6 blank lines after a text line.
  649.       4  If clear lines are inserted.
  650. Note: This register is used if in a 350 line text mode
  651.       and fonts are larger than 8 lines.
  652.  
  653. 3d6h index 55h (R/W):  Horizontal Compensation Register           (655x0 Only)
  654. bit   0  Enable Horizontal Compensation (EHCP)
  655.          If set Horizontal compensation is enabled.
  656.       1  Enable Automatic Horizontal Centring (EAHC)
  657.          If set (and bit 0 is set) EAHC is enabled.
  658.          Horizontal left and right borders will be computed
  659.          automatically.
  660.       2  Enable Text Mode Horizontal Compression (ETHC).
  661.          If set, bit 0 is set and we are in a Flat Panel Text
  662.          mode ETHC is enabled.
  663.          9-dot text modes will be forced to 8-bit.
  664.       5  Enable Automatic Horizontal Doubling (EAHD).
  665.          If set and bit 0 is set, EAHD is enabled.
  666.          If Horizontal Display Width (3d4h index 1) is less
  667.          than or equal to half the Horizontal Panel Size
  668.          (3d6h index 18h) horizontal pixel doubling will be forced.
  669.       6  Alternate CRT Hsync Polarity. Negative if set, Positive if clear.
  670.       7  Alternate CRT Vsync Polarity. Negative if set, Positive if clear. 
  671.  
  672. 3d6h index 56h (R/W):  Text Mode 350_B                       (82c455/6/7 Only)
  673. bit 0-3  (Number of blank lines)-1 inserted between text rows
  674.       4  If clear lines are inserted.
  675. Note: This register is used if in a 350 line text mode
  676.       and fonts are smaller than or equal to 8 lines.
  677.  
  678. 3d6h index 56h (R/W):  Horizontal Centring Register               (655x0 Only)
  679. bit 0-7  Horizontal Left Border. Size of the left border in pixels  -1.
  680.          Only used if in a Flat Panel mode and non-automatic
  681.          horizontal centring is enabled.
  682.  
  683. 3d6h index 57h (R/W):  Text Mode 400                         (82c455/6/7 Only)
  684. bit 0-3  (Number of blank lines)-1 inserted between text rows
  685.       4  If clear lines are inserted.
  686. Note: This register is used if in a 400 line text mode.
  687.  
  688. 3d6h index 57h (R/W):  Vertical Compensation Register             (655x0 Only)
  689. bit   0  Enable Vertical Compensation if set.
  690.       1  Enable Automatic Vertical Centring.
  691.          If set and bit 0 set, the image will automatically
  692.          be centred vertically.
  693.       2  Enable Text Mode Vertical Stretching.
  694.          If set and bit 0 set, text mode vertical
  695.          stretching is enabled. 
  696.     3-4  Text Mode Vertical Stretching. If bit 0 & 2 set.
  697.            0 = Double Scanning (DS) and Line Insertion (LI)
  698.                with priority: DS+li, DS, LI.
  699.            1 = Double Scanning (DS) and Line Insertion (LI)
  700.                with priority: DS+LI, LI, DS.
  701.            2 = Double Scanning (DS) and TallFont (TF)
  702.                with priority: DS+TF, DS, TF.
  703.            3 = Double Scanning (DS) and TallFont (TF)
  704.                with priority: DS+TF, TF, DS.
  705.       5  Enable Vertical Stretching if set and bit 0 set.
  706.       6  Vertical Stretching. If bits 0 and 5 set.
  707.            0 = Double Scanning (DS) and Line Replication (LR)
  708.                with priority: DS+LR, DS, LR.
  709.            1 = Double Scanning (DS) and Line Replication (LR)
  710.                with priority: DS+LR, LR, DS.
  711.  
  712. 3d6h index 58h (R/W):  Graphics Mode 350                     (82c455/6/7 Only)
  713. bit 0-3  Number of scan lines between stretch/delete
  714.       4  Enable vertical Stretching if set
  715.       5  Enable vertical deletion if set
  716.       6  If set the value in bits 0-3 is incremented every other period.
  717. Note: This register is used if in a 350 line graphics mode.
  718.  
  719. 3d6h index 58h (R/W):  Vertical Centring Register                 (655x0 Only)
  720. bit 0-7  Vertical Top Border LSBs.
  721.          Lower 8 bits of the Vertical Top Border.
  722.          Bits 8-9 are in 3d6h index 59h bits 5-6.
  723. Note: used only in Flat panel modes when non-automatic
  724.       vertical centring is enabled.
  725.  
  726. 3d6h index 59h (R/W):  Graphics Mode 400                     (82c455/6/7 Only)
  727. bit 0-3  Number of scan lines between stretch/delete
  728.       4  Enable vertical Stretching if set
  729.       5  Enable vertical deletion if set
  730.       6  If set the value in bits 0-3 is incremented every other period.
  731. Note: This register is used if in a 400 line graphics mode.
  732.  
  733. 3d6h index 59h (R/W):  Vertical Line Insertion Register           (655x0 Only)
  734. bit 0-3  Vertical line Insertion Height.
  735.          Number of lines -1 to insert between text rows.
  736.     5-6  Bits 8-9 of the Vertical Top Border (3d6h index 58h).
  737. Note: This register is only used in Flat Panel text modes.
  738.  
  739. 3d6h index 5Ah (R/W):  Flat Panel Vertical Display Start_400 (82c455/6/7 Only)
  740. bit 0-7  For 400 line Flat Panel modes  these are the lower 8 bits of the 
  741.          Vertical Display Start (in scanlines). The upper 2 bits are in the
  742.          Flat Panel Vertical Overflow 2 Register (3d6h index 6Bh) bits 2-3.
  743.  
  744. 3d6h index 5Ah (R/W):  Vertical Line Replication Register.        (655x0 Only)
  745. bit 0-3  Vertical line Replication Height.
  746.          Number of lines-1 between replicated lines. 
  747.          Double scanned lines are also counted.
  748. Note: This register is only used when in Flat Panel text modes
  749.       and Line Replication is enabled.
  750.  
  751. 3d6h index 5Bh (R/W):  Flat Panel Vertical Display End_400   (82c455/6/7 Only)
  752. bit 0-7  For 400 line Flat Panel modes these are the lower 8 bits of the 
  753.          Vertical Display End (in scanlines). The upper 2 bits are in the
  754.          Flat Panel Vertical Overflow 2 Register (3d6h index 6Bh) bits 6-7.
  755.  
  756. 3d6h index 5Bh (R/W):  Panel Power Sequencing Delay register      (65530 Only)
  757. bit 0-3  Panel Power Down sequencing Delay in 32ms counts. (0-480ms)
  758.     4-7  Panel Power Up Sequencing Delay in 4ms counts. (0-60ms)
  759. Note: This register is used only when the Panel power Sequencing
  760.       feature is enabled. Default to 81h for compatibility with 65520.
  761.  
  762. 3d6h index 5Ch (R/W):  Weight Clock Control Register A         (82c455/6 only)
  763. bit 0-5  This register is used in Flat Panel mode when bit 7 of the Panel
  764.          Format Register (3d6h index 50h) is set and bits 2-3 of the same
  765.          register is either 1 or 2.
  766.          The time from Hsync to the first pulse on the WGTCLK is this
  767.          value*4 dot clocks.  See also 3d6h index 5Dh and 6Ch.
  768.  
  769. 3d6h index 5Dh (R/W):  Weight Clock Control Register B         (82c455/6 only)
  770. bit 0-5  This register is used in Flat Panel mode when bit 7 of the Panel
  771.          Format Register (3d6h index 50h) is set and bits 2-3 of the same
  772.          register is either 1 or 2.
  773.          The time between WGTCLK pulses is this value*4 dot clocks.
  774.          See also 3d6h index 5Ch and 6Ch.
  775.  
  776. 3d6h index 5Eh (R/W):  ACDCLK Control Register        (82c455/6/7, 655x0 only)
  777. bit 0-6  ACDCLK Count. Number of Hsync pulses between changes in ACDCLK.
  778.       7  If set the ACDCLK phase inverts every frame, if clear the ACDCLK
  779.          changes phase when the number of Hsync pulses specified in 
  780.          bits 0-6 have elapsed.
  781.  
  782. 3d6h index 5Fh (R/W):  Power Down Mode Refresh Register
  783.                                                       (82c455/6/7, 655x0 only)
  784. bit 0-7  (82c455/6/7) Sleep Mode Refresh Frequency.
  785.          A refresh will happen for every (4*this value)+8 dot clocks.
  786.     0-1  (655x0) Power Down Refresh Frequency.
  787.          Refresh happens every xx micro seconds:  
  788.            0=16usek, 1=32 usek, 2=64 usek and 3=128 usek.
  789.  
  790. 3d6h index 60h (R/W):  Blink Rate Control             (82c455/6/7, 655x0 Only)
  791. bit 0-5  Blink Rate.
  792.          Character Blink Freq = Vertical sync Freq * (Blink rate+1)
  793.          Cursor blink freq = Character Blink Freq *2.
  794.     6-7  Blink Cycle  1=25%, 2=50%, 3=75%
  795.  
  796. 3d6h index 61h (R/W):  Smartmap Control                 (82c455/6, 655x0 Only)
  797. bit   0  If set enables Smartmap and bypasses internal color lookup table.
  798.     1-4  Threshold for (Foreground - Background) diff
  799.          if diff less than the threshold the foreground and
  800.          background colors will be spread (See 3d6h index 62h).
  801.       5  Smartmap Saturation value.
  802.          If set the result is calculated modulo 16, 
  803.          if clear it is rounded to min. or max. values (0 and 0Fh).
  804.       6  (82c456, 655x0) Enhanced text if set
  805.          (reverses attributes 7h and Fh)
  806.       7  (655x0) Text Video Output Polarity (TVP) if set.
  807.          Only effective in Flat Panel modes. 
  808.  
  809. 3d6h index 62h (R/W):  Smartmap Shift Parameter         (82c455/6, 655x0 Only)
  810. bit 0-3  Number of levels to shift foreground color
  811.          when too little difference (See 3d6h index 61h bit 1-4).
  812.     4-7  Number of levels to shift background color.
  813.  
  814. 3d6h index 63h  (R/W): Graphics Color Mapping Control          (82c455/6 Only)
  815. bit 0-3  Threshold color value for mono output.
  816.          All colors >= this value will be set to 1,
  817.          all lower to 0.
  818.       4  Use upper 4 bits of 256 color if set, lower if not.
  819.       5  Enable internal color lookup table if set
  820.       6  Write protect internal color look up table if set
  821.       7  Graphics output polarity
  822.  
  823. 3d6h index 63h  (R/W): Smartmap Color Mapping Control             (655x0 only)
  824. bit 0-5  Color Threshold. Used for mapping 6 bit color to 1 bit.
  825.          Color values greater than or equal than this value
  826.          are mapped to 1, and lower values are mapped to 0.
  827.       6  Must be set to 1.
  828.       7  Graphics Video Output Polarity
  829.          Inverted polarity if set, normal if clear.
  830.          Graphics video output only.
  831.  
  832. 3d6h index 64h  (R/W): Alternate Vertical Total       (82c455/6/7, 655x0 only)
  833. bit 0-7  Alternate Vertical Total
  834. Note: For Flat Panel modes this register replaces the Vertical Total Register
  835.       (3d4h index 6).
  836.  
  837. 3d6h index 65h  (R/W): Alternate Overflow             (82c455/6/7, 655x0 only)
  838. bit   0  Alternate Vertical Total bit 8
  839.       1  (455/6/7) Alternate Vertical Display End bit 8.
  840.          (655x0)   Alternate Vertical Panel Size bit 8.
  841.       2  Alternate Vertical Sync Start bit 8.
  842.       3  (655x0) Alternate Vertical Sync Start bit 10.
  843.       4  (655x0) Alternate Vertical Total bit 10.
  844.       5  Alternate Vertical Total bit 9
  845.       6  (455/6/7) Alternate Vertical Display End bit 9.
  846.          (655x0)   Alternate Vertical Panel Size bit 9.
  847.       7  Alternate Vertical Sync Start bit 9.
  848.  
  849. 3d6h index 66h  (R/W): Alternate Vertical Sync Start  (82c455/6/7, 655x0 only)
  850. bit 0-7  Alternate Vertical Sync Start
  851. Note: For Flat Panel modes this register replaces the Vertical
  852.       Sync Start Register (3d4h index 10h).
  853.  
  854. 3d6h index 67h  (R/W): Alternate Vertical Sync End    (82c455/6/7, 655x0 only)
  855. bit 0-3  Alternate Vertical Sync End
  856. Note: For Flat Panel modes this register replaces the Vertical
  857.       Sync End Register (3d4h index 11h).
  858.  
  859. 3d6h index 68h  (R/W): Alternate Vertical Display Enable     (82c455/6/7 only)
  860. bit 0-7  Alternate Vertical Display Enable
  861. Note: For Flat Panel modes this register replaces the Vertical Display Enable
  862.       Register (3d4h index 12h)
  863.  
  864. 3d6h index 69h  (R/W): Vertical Panel Size Register.              (655x0 only)
  865. bit 0-7  Vertical Panel Size. Number of scan lines per frame.
  866.  
  867. 3d6h index 69h  (R/W): Flat Panel Vertical Display Start_350 (82c455/6/7 only)
  868. bit 0-7  For 350 line Flat Panel modes these are the lower 8 bits of the 
  869.          Vertical Display Start (in scanlines). The upper 2 bits are in the
  870.          Flat Panel Vertical Overflow 2 Register (3d6h index 6Bh) bits 0-1.
  871.  
  872. 3d6h index 6Ah  (R/W): Flat Panel Vertical Display End_350   (82c455/6/7 only)
  873. bit 0-7  For 350 line Flat Panel modes these are the lower 8 bits of the 
  874.          Vertical Display End (in scanlines). The upper 2 bits are in the
  875.          Flat Panel Vertical Overflow 2 Register (3d6h index 6Bh) bits 4-5.
  876.  
  877. 3d6h index 6Bh  (R/W): Flat Panel Vertical Overflow 2        (82c455/6/7 only)
  878. bit 0-1  Bits 8-9 of the Vertical Display Start_350 Register (3d6h index 69h)
  879.     2-3  Bits 8-9 of the Vertical Display Start_400 Register (3d6h index 5Ah
  880.     4-5  Bits 8-9 of the Vertical Display End_350 Register (3d6h index 6Ah)
  881.     6-7  Bits 8-9 of the Vertical Display End_400 Register (3d6h index 5Bh)
  882.  
  883. 3d6h index 6Ch  (R/W): Weight Clock Control Register         (82c455/6/7 only)
  884. bit 0-5  Weight Clock Control Pulse Count.
  885.          Total number of pulses on the Weight Clock.
  886.          See Also 3d6h index 5Ch and 5Dh.
  887.  
  888. 3d6h index 6Ch  (R/w): Programmable Output Drive Register         (655x0 only)
  889. bit   0  Input Level Sense Selection Mode.
  890.          If set bit 1 is used to determine input threshold.
  891.          If clear chip detects VCC voltage internally.
  892.       1  Input Level Sense Selection Voltage.
  893.          If set VCC for internal logic is 3.3V
  894.          if clear it is 5V.
  895.       2  Flat Panel Interface Output Drive Select
  896.          If set Higher drive, if clear Lower drive.
  897.       3  Bus Interface Output Drive Select.
  898.          If set Higher drive, if clear Lower drive.
  899.       4  Memory Interface output Drive Select.
  900.          If set Higher drive, if clear Lower drive.
  901.  
  902. 3d6h index 6Dh  (R/W): FRC and Palette Control                 (82c456/7 Only)
  903. bit   3  Enable Frame Rate Control
  904.     4-5  Maximum number of grey levels.
  905.            0: 64 level FRC
  906.            1: 16 level FRC with dither for 256 color modes.
  907.            2: 64 level FRC with dither for low grey levels.
  908.            3: 16 level FRC only.
  909.     6-7  Usage of External Palette:
  910.            0: Bypass
  911.            1: Bypass for 16 color modes, use for 256 color.
  912.            2: Always use
  913.            3: 16 grays for 16 color modes, 64 for 256 color.
  914.  
  915. 3d6h index 6Eh (R/W):  Polynomial FRC Control           (82c456/7, 655x0 Only)
  916. bit 0-3  Polynomial N value for Frame Rate Control
  917.     4-7  Polynomial M value.
  918.  
  919. 3d6h index 6Fh (R/W):  Frame Buffer Control register              (655x0 only)
  920. bit   0  Frame Buffer Enable. External Frame Buffer enabled if set.
  921.       1  Frame Accelerator enabled if set.
  922.       2  Frame Buffer memory Type.
  923.          If set Frame Buffer consists of 256Kx4 VRAM.
  924.          If clear Frame Buffer consists of 64Kx4 VRAM
  925.     3-5  Frame Buffer Refresh Count.
  926.     6-7  Reserved. Must be set to 0. 
  927. Note: This register effective in Flat Panel mode only.
  928.  
  929. 3d6h index 70h (R/W):  Setup/Disable Control Register.            (655x0 only)
  930. bit   7  3C3/46E8 Register Disabled if set.
  931.  
  932. 3d6h index 7Dh (R/W):  FP Compensation Diagnostic Register        (655x0 only)
  933. bit 0-7  Reserved. returns 0.
  934.  
  935. 3d6h index 7Eh (R/W):  CGA Color Select
  936.      This is a copy of the CGA Color Select Register at 3D9h.
  937.      The copy at 3D9h is only visible in CGA emulation mode.
  938.      This register is always visible.
  939.  
  940. 3d6h index 7Fh (R/W):  Diagnostic 
  941. bit   0  if set 3-states pins: PALRD/, PALWR/, WR46E8/, HSYNC, VSYNC,
  942.          ACDCLK, BLANK/, P0-7, RDY, DATEN/ AND IRQ/.
  943.       1  If set 3-states pins: WE/, RAS/, CAS0/, CAS1/,
  944.          CAS2/, CAS3/, AA0-7 AND BA0-7.
  945.     2-5  Test Function Pins. Should be 0.
  946.       6  (655x0) Test Function Enabled if set.
  947.       7  (655x0) Special Test Function. Should be set to 0.
  948.  
  949. 46E8h (R/W):  Setup Control PC/AT Register
  950. bit 0-2  Reserved
  951.       3  Enables Adapter VGA if set
  952.       4  Enters Setup Mode if set
  953.     5-7  Reserved
  954. Note: This is the same register as 94h.
  955.  
  956.  
  957. Most every index of 3d6h is used by one one or more chip.
  958.  
  959.  
  960. Bank Switching:
  961.  
  962. Bank switching is dependent on Chip version:
  963.  
  964.                               16 color modes       256 color modes
  965.    Chip         #bank regs   #Banks Granularity   #banks Granularity
  966.    82c451/5/6      1                                  4    64Kbytes
  967.    82c452          2            64     4Kbytes       64    16Kbytes
  968.    82c453/0        2           256     1Kbytes      256     4Kbytes
  969.  
  970.     For the 82c452 & 3  the window to display memory can start on
  971.     any boundary fitting the granularity of the chip/display mode.
  972.     When using 2 bank registers, the address range available to the
  973.     adapter is split equally between the two bank registers. I.e.
  974.     A000h-A7FFh uses one bank, and A800h-AFFFh the other.
  975.     (Or A000h-AFFFh and B000h-BFFFh respectively if using the full
  976.     128 Kbytes range).
  977.  
  978.  
  979.  
  980.   ID Chips and Technologies Chip Set:
  981.  
  982.   vio($5F00);
  983.   if rp.al=$5F then
  984.     case rp.bl shr 4 of
  985.       0:Chip&Tech 82c451 !!!
  986.       1:Chip&Tech 82c452 !!!   
  987.       2:Chip&Tech 82c455 !!!
  988.       3:Chip&Tech 82c453 !!!
  989.       4:Chip&Tech 82c450 !!!
  990.       5:Chip&Tech 82c456 !!!
  991.       6:Chip&Tech 82c457 !!!
  992.       7:Chip&Tech F65520 !!!
  993.       8:Chip&Tech F65530 !!!
  994.       9:Chip&Tech F65510 !!!
  995.     end;
  996.  
  997.  
  998.  
  999.   Video Modes:
  1000.  
  1001.    60h T  132   25  16  (8x16)
  1002.    61h T  132   50  16  (8x8)
  1003.    6Ah G  800  600  16  PL4
  1004.    70h G  800  600  16  PL4
  1005.    71h G  960  720  16  PL4   Cardinal only!
  1006.    72h G 1024  768  16  PL4
  1007.    78h G  640  400 256  P8    Not documented/not all boards
  1008.    79h G  640  480 256  P8
  1009.    7Ah G  720  540 256  P8    Not documented/not all boards
  1010.    7Bh G  800  600 256  P8
  1011.    7Ch G  800  600 256  P8    (82c453 Only)
  1012.    7Eh G 1024  768 256  P8    (82c453 Only)  
  1013.  
  1014.   Bios Extensions:
  1015. ----------105F00-----------------------------
  1016. INT 10 - Get Controller Information       (Chips and Technologies Super VGA)
  1017.         AX = 5F00h
  1018. Return: AL = 5F  If extended VGA control function supported
  1019.         BL = CHIP Type:
  1020.              Bits 4-7:
  1021.                0: 82c451
  1022.                1: 82c452
  1023.                2: 82c455
  1024.                3: 82c453
  1025.                4: 82c450
  1026.                5: 82c456
  1027.                6: 82C457
  1028.                7: F65520
  1029.                8: F65530
  1030.            Bits 0-3:  Revision Number
  1031.         BH = Video Memory Size
  1032.                0=256 Kbytes
  1033.                1=512 Kbytes
  1034.                2=1 Megabyte
  1035.         CX = Miscellaneous Information
  1036.              Bit 0  Dac Size. 0=6bit, 1=8bit
  1037.                  1  System Environment. 0=PC/AT, 1=PS/2
  1038.                  2  Extended text modes supported by BIOS
  1039.                  3  Reserved
  1040.                  4  Extended graphics modes supported by BIOS
  1041.                  5  Reserved
  1042.                  6  Graphics Cursor supported by BIOS
  1043.                  7  Anti Alias font supported by BIOS
  1044.                  8  Preprogrammed emulation supported by BIOS
  1045.                  9  Auto emulation supported by BIOS
  1046.                 10  Variable mode set at cold boot supported by BIOS
  1047.                 11  Variable mode set at warm boot supported by BIOS
  1048.                 12  Emulation mode set at cold boot supported by BIOS
  1049.                 13  Emulation mode set at warm boot supported by BIOS
  1050.              14-15  Reserved
  1051. ----------105F01-----------------------------
  1052. INT 10 - Set Emulation Mode               (Chips and Technologies Super VGA)
  1053.         AX = 5F01h
  1054.         BL = Operation Mode
  1055.                0-1 Reserved
  1056.                  2 Enable CGA Emulation
  1057.                  3 Enable MDA Emulation
  1058.                  4 Enable Hercules Emulation
  1059.                  5 Enable EGA Emulation
  1060.                  6 Enable VGA Emulation
  1061. Return: AL = 5Fh  If function supported
  1062.         AH = Return Status
  1063.                1 If Function Successful, 0 else
  1064. ----------105F02-----------------------------
  1065. INT 10 - Auto Emulation Control           (Chips and Technologies Super VGA)
  1066.         AX = 5F02h
  1067.         BL = Selection
  1068.                0= Enable Auto Emulation
  1069.                1= Disable Auto Emulation
  1070. Return: AL = 5Fh  If function supported
  1071.         AH = Return Status
  1072.                1 If Function Successful, 0 else
  1073. ----------105F03-----------------------------
  1074. INT 10 - Set Power-on Video Configuration (Chips and Technologies Super VGA)
  1075.         AX = 5F03h
  1076.         BL = Configuration
  1077.                0:  Set display mode as specified in the CX register
  1078.                    at power-up.
  1079.  
  1080.                    CL=Display Mode
  1081.                    CH=Bits 0-1 Scanlines
  1082.                                  0=200 Lines
  1083.                                  1=350 Lines
  1084.                                  2=400 Lines
  1085.                       Bit    7 Performance
  1086.                                  0= Reset after next boot
  1087.                                  1= Set until changed
  1088.  
  1089.                1:  Set Emulation mode as specified in the CX register
  1090.                    at power-up.
  1091.  
  1092.                    CL=Emulation Mode (See 5F01h)
  1093.                    CH=Bit 7 Performance
  1094.                         0= Reset after next boot
  1095.                         1= Set until changed
  1096.  
  1097. Return: AL = 5Fh  If function supported
  1098.         AH = Return Status
  1099.                1 If Function Successful, 0 else
  1100. ----------105F90-----------------------------
  1101. INT 10 - Return Save/Restore buffer size  (Chips and Technologies Super VGA)
  1102.         AX = 5F90h
  1103.         CX = Mask State
  1104.              Bit 0  Save/Restore video hardware
  1105.                  1  Save/Restore BIOS data state
  1106.                  2  Save/Restore DAC state
  1107.                 15  Save/Restore type
  1108.                       0= Save/Restore All state information
  1109.                       1= Save/Restore super state information
  1110.  
  1111. Return: AL = 5Fh  If function supported
  1112.         BX = Number of 64byte blocks required
  1113. ----------105F91-----------------------------
  1114. INT 10 - Save State                       (Chips and Technologies Super VGA)
  1115.         AX = 5F91h
  1116.         CX = Mask State
  1117.              Bit 0  Save video hardware
  1118.                  1  Save BIOS data state
  1119.                  2  Save DAC state
  1120.                 15  Save type
  1121.                       0= Save All state information
  1122.                       1= Save super state information
  1123.         ES:BX -> Buffer to save in.
  1124. Return: AL = 5Fh  If function supported
  1125. ----------105F92-----------------------------
  1126. INT 10 - Restore State                    (Chips and Technologies Super VGA)
  1127.         AX = 5F92h
  1128.         CX = Mask State
  1129.              Bit 0  Restore video hardware
  1130.                  1  Restore BIOS data state
  1131.                  2  Restore DAC state
  1132.                 15  Restore type
  1133.                       0= Restore All state information
  1134.                       1= Restore super state information
  1135.         ES:BX -> Buffer to restore from.
  1136. Return: AL = 5Fh  If function supported
  1137.